﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Warburton.FastBitArray.Factories;

namespace Warburton.FastBitArray
{
    public static class BitArrayFactory
    {
        private static IBitArrayFactory _factory;

        static BitArrayFactory()
        {
            _factory = DefaultFactory.Instance;
        }

        public static IBitArray BitArray(IBitArray bits)
        {
            return _factory.BitArray(bits);
        }

        public static IBitArray BitArray(bool[] values)
        {
            return _factory.BitArray(values);
        }

        public static IBitArray BitArray(byte[] bytes)
        {
            return _factory.BitArray(bytes);
        }

        public static IBitArray BitArray(int length)
        {
            return _factory.BitArray(length);
        }

        public static IBitArray BitArray(int[] values)
        {
            return _factory.BitArray(values);
        }

        public static IBitArray BitArray(int length, bool defaultValue)
        {
            return _factory.BitArray(length, defaultValue);
        }
    }
}
